/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.Objects;

/**
 *
 * @author Marcos Vinicius Rogowski
 * 
 */
public class Produto {
	private int idProduto;
	private String nome;
	private double preco;
	private int quantidade;
	private TipoProduto tipo;

	public Produto(int idProduto, String nome, TipoProduto tipo) {
		this.idProduto = idProduto;
		this.nome = nome;
		this.tipo = tipo;
	}

	public Produto(int idProduto, String nome, double preco, int quantidade, TipoProduto tipo) {
		this(idProduto, nome, tipo);
		this.preco = preco;
		this.quantidade = quantidade;
	}

	public int getIdProduto() {
		return this.idProduto;
	}

	public String getNome() {
		return this.nome;
	}

	public double getPreco() {
		return this.preco;
	}

	public int getQuantidade() {
		return this.quantidade;
	}

	public TipoProduto getTipo() {
		return this.tipo;
	}

	public void setPreco(double preco) {
		this.preco = preco;
	}

	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}

	@Override
	public int hashCode() {
		int hash = 5;
		hash = 41 * hash + this.idProduto;
		hash = 41 * hash + Objects.hashCode(this.nome);
		return hash;
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		final Produto other = (Produto) obj;
		if (this.idProduto != other.idProduto) {
			return false;
		}
		if (!Objects.equals(this.nome, other.nome)) {
			return false;
		}
		return true;
	}

	@Override
	public String toString() {
		return "Produto{" + 
					"idProduto=" + idProduto + 
					", nome=" + nome + 
					", preco=" + preco + 
					", quantidade=" + quantidade + 
					", tipo=" + tipo + 
				'}';
	}
}
